namespace ext.form
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// A combobox control with support for autocomplete, remote-loading, paging and many other features.  A ComboBox works in a similar manner to a traditional HTML &amp;lt;select&gt; field. The difference is
	/// that to submit the {@link #valueField}, you must specify a {@link #hiddenName} to create a hidden input
	/// field to hold the value of the valueField. The {@link #displayField} is shown in the text field
	/// which is named according to the {@link #name}.  Events  To do something when something in ComboBox is selected, configure the select event: 
	/// var cb = new Ext.form.ComboBox({
	/// // all of your config options
	/// listeners:{
	/// scope: yourScope,
	/// &apos;select&apos;: yourFunction
	/// }
	/// });
	///
	/// // Alternatively, you can assign events after the object is created:
	/// var cb = new Ext.form.ComboBox(yourOptions);
	/// cb.on(&apos;select&apos;, yourFunction, yourScope);
	///   ComboBox in Grid  If using a ComboBox in an {@link Ext.grid.EditorGridPanel Editor Grid} a {@link Ext.grid.Column#renderer renderer}
	/// will be needed to show the...
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;A combobox control with support for autocomplete, remote-loading, paging and many other features.&lt;/p&gt;
	/// &lt;p&gt;A ComboBox works in a similar manner to a traditional HTML &amp;lt;select&gt; field. The difference is
	/// that to submit the {@link #valueField}, you must specify a {@link #hiddenName} to create a hidden input
	/// field to hold the value of the valueField. The &lt;i&gt;{@link #displayField}&lt;/i&gt; is shown in the text field
	/// which is named according to the {@link #name}.&lt;/p&gt;
	/// &lt;p&gt;&lt;b&gt;&lt;u&gt;Events&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
	/// &lt;p&gt;To do something when something in ComboBox is selected, configure the select event:&lt;pre&gt;&lt;code&gt;
	/// var cb = new Ext.form.ComboBox({
	/// // all of your config options
	/// listeners:{
	/// scope: yourScope,
	/// &apos;select&apos;: yourFunction
	/// }
	/// });
	///
	/// // Alternatively, you can assign events after the object is created:
	/// var cb = new Ext.form.ComboBox(yourOptions);
	/// cb.on(&apos;select&apos;, yourFunction, yourScope);
	/// &lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
	///
	/// &lt;p&gt;&lt;b&gt;&lt;u&gt;ComboBox in Grid&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
	/// &lt;p&gt;If using a ComboBox in an {@link Ext.grid.EditorGridPanel Editor Grid} a {@link Ext.grid.Column#renderer renderer}
	/// will be needed to show the displayField when the editor is not active. Set up the renderer manually, or implement
	/// a reusable render, for example:&lt;pre&gt;&lt;code&gt;
	/// // create reusable renderer
	/// Ext.util.Format.comboRenderer = function(combo){
	/// return function(value){
	/// var record = combo.findRecord(combo.{@link #valueField}, value);
	/// return record ? record.get(combo.{@link #displayField}) : combo.{@link #valueNotFoundText};
	/// }
	/// }
	///
	/// // create the combo instance
	/// var combo = new Ext.form.ComboBox({
	/// {@link #typeAhead}: true,
	/// {@link #triggerAction}: &apos;all&apos;,
	/// {@link #lazyRender}:true,
	/// {@link #mode}: &apos;local&apos;,
	/// {@link #store}: new Ext.data.ArrayStore({
	/// id: 0,
	/// fields: [
	/// &apos;myId&apos;,
	/// &apos;displayText&apos;
	/// ],
	/// data: [[1, &apos;item1&apos;], [2, &apos;item2&apos;]]
	/// }),
	/// {@link #valueField}: &apos;myId&apos;,
	/// {@link #displayField}: &apos;displayText&apos;
	/// });
	///
	/// // snippet of column model used within grid
	/// var cm = new Ext.grid.ColumnModel([{
	/// ...
	/// },{
	/// header: &quot;Some Header&quot;,
	/// dataIndex: &apos;whatever&apos;,
	/// width: 130,
	/// editor: combo, // specify reference to combo instance
	/// renderer: Ext.util.Format.comboRenderer(combo) // pass combo instance to reusable renderer
	/// },
	/// ...
	/// ]);
	/// &lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
	///
	/// &lt;p&gt;&lt;b&gt;&lt;u&gt;Filtering&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
	/// &lt;p&gt;A ComboBox {@link #doQuery uses filtering itself}, for information about filtering the ComboBox
	/// store manually see &lt;tt&gt;{@link #lastQuery}&lt;/tt&gt;.&lt;/p&gt;
	/// </htmlSummary>
	/// <definedin>src\widgets\form\Combo.js</definedin>
	[ScriptName("ComboBox")]
	[ScriptNamespace("Ext.form")]
	[Imported()]
	public partial class ComboBox : ext.form.TriggerField
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config">Configuration options</param>
		public ComboBox(ext.form.ComboBox_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public ComboBox()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>
		/// The id, DOM node or element of an existing HTML SELECT to convert to a ComboBox.
		/// Note that if you specify this and the combo is going to be in an {@link Ext.form.BasicForm} or
		/// {@link Ext.form.FormPanel}, you must also set {@link #lazyRender} = true.
		/// </summary>
		/// <htmlSummary>
		/// The id, DOM node or element of an existing HTML SELECT to convert to a ComboBox.
		/// Note that if you specify this and the combo is going to be in an {@link Ext.form.BasicForm} or
		/// {@link Ext.form.FormPanel}, you must also set &lt;tt&gt;{@link #lazyRender} = true&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("transform")]
		public object Transform;
		
		/// <summary>
		/// true to prevent the ComboBox from rendering until requested
		/// (should always be used when rendering into an {@link Ext.Editor} (e.g. {@link Ext.grid.EditorGridPanel Grids}),
		/// defaults to false).
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to prevent the ComboBox from rendering until requested
		/// (should always be used when rendering into an {@link Ext.Editor} (e.g. {@link Ext.grid.EditorGridPanel Grids}),
		/// defaults to &lt;tt&gt;false&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("lazyRender")]
		public bool LazyRender;
		
		/// <summary>
		/// A {@link Ext.DomHelper DomHelper} element spec, or true for a default
		/// element spec. Used to create the {@link Ext.Component#getEl Element} which will encapsulate this Component.
		/// See {@link Ext.Component#autoEl autoEl} for details. Defaults to:  {tag: &quot;input&quot;, type: &quot;text&quot;, size: &quot;24&quot;, autocomplete: &quot;off&quot;}
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A {@link Ext.DomHelper DomHelper} element spec, or &lt;tt&gt;true&lt;/tt&gt; for a default
		/// element spec. Used to create the {@link Ext.Component#getEl Element} which will encapsulate this Component.
		/// See &lt;tt&gt;{@link Ext.Component#autoEl autoEl}&lt;/tt&gt; for details. Defaults to:&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;{tag: &quot;input&quot;, type: &quot;text&quot;, size: &quot;24&quot;, autocomplete: &quot;off&quot;}&lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("autoCreate")]
		public ext.auto.System_String_Or_System_Object AutoCreate;
		
		/// <summary>
		/// The data source to which this combo is bound (defaults to undefined).
		/// Acceptable values for this property are:
		///   any {@link Ext.data.Store Store} subclass  an Array : Arrays will be converted to a {@link Ext.data.ArrayStore} internally,
		/// automatically generating {@link Ext.data.Field#name field names} to work with all data components.
		///   1-dimensional array : (e.g., [&apos;Foo&apos;,&apos;Bar&apos;]) 
		/// A 1-dimensional array will automatically be expanded (each array item will be used for both the combo
		/// {@link #valueField} and {@link #displayField})   2-dimensional array : (e.g., [[&apos;f&apos;,&apos;Foo&apos;],[&apos;b&apos;,&apos;Bar&apos;]]) 
		/// For a multi-dimensional array, the value in index 0 of each item will be assumed to be the combo
		/// {@link #valueField}, while the value at index 1 is assumed to be the combo {@link #displayField}.
		///        See also {@link #mode}.
		/// </summary>
		/// <htmlSummary>
		/// The data source to which this combo is bound (defaults to &lt;tt&gt;undefined&lt;/tt&gt;).
		/// Acceptable values for this property are:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;any {@link Ext.data.Store Store} subclass&lt;/b&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;an Array&lt;/b&gt; : Arrays will be converted to a {@link Ext.data.ArrayStore} internally,
		/// automatically generating {@link Ext.data.Field#name field names} to work with all data components.
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;1-dimensional array&lt;/b&gt; : (e.g., &lt;tt&gt;[&apos;Foo&apos;,&apos;Bar&apos;]&lt;/tt&gt;)&lt;div class=&quot;sub-desc&quot;&gt;
		/// A 1-dimensional array will automatically be expanded (each array item will be used for both the combo
		/// {@link #valueField} and {@link #displayField})&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;2-dimensional array&lt;/b&gt; : (e.g., &lt;tt&gt;[[&apos;f&apos;,&apos;Foo&apos;],[&apos;b&apos;,&apos;Bar&apos;]]&lt;/tt&gt;)&lt;div class=&quot;sub-desc&quot;&gt;
		/// For a multi-dimensional array, the value in index 0 of each item will be assumed to be the combo
		/// {@link #valueField}, while the value at index 1 is assumed to be the combo {@link #displayField}.
		/// &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		/// &lt;p&gt;See also &lt;tt&gt;{@link #mode}&lt;/tt&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("store")]
		public ext.auto.ext_data_Store_Or_System_Array Store;
		
		/// <summary>
		/// If supplied, a header element is created containing this text and added into the top of
		/// the dropdown list (defaults to undefined, with no header element)
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("title")]
		public string Title;
		
		/// <summary>
		/// The width (used as a parameter to {@link Ext.Element#setWidth}) of the dropdown
		/// list (defaults to the width of the ComboBox field). See also {@link #minListWidth}
		/// </summary>
		/// <htmlSummary>
		/// The width (used as a parameter to {@link Ext.Element#setWidth}) of the dropdown
		/// list (defaults to the width of the ComboBox field). See also &lt;tt&gt;{@link #minListWidth}
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("listWidth")]
		public System.Number ListWidth;
		
		/// <summary>
		/// The underlying {@link Ext.data.Field#name data field name} to bind to this
		/// ComboBox (defaults to undefined if {@link #mode} = &apos;remote&apos; or &apos;field1&apos; if
		/// {@link #transform transforming a select} or if the {@link #store field name is autogenerated based on
		/// the store configuration}).
		/// See also {@link #valueField}.  Note: if using a ComboBox in an {@link Ext.grid.EditorGridPanel Editor Grid} a
		/// {@link Ext.grid.Column#renderer renderer} will be needed to show the displayField when the editor is not
		/// active.
		/// </summary>
		/// <htmlSummary>
		/// The underlying {@link Ext.data.Field#name data field name} to bind to this
		/// ComboBox (defaults to undefined if &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt; or &lt;tt&gt;&apos;field1&apos;&lt;/tt&gt; if
		/// {@link #transform transforming a select} or if the {@link #store field name is autogenerated based on
		/// the store configuration}).
		/// &lt;p&gt;See also &lt;tt&gt;{@link #valueField}&lt;/tt&gt;.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: if using a ComboBox in an {@link Ext.grid.EditorGridPanel Editor Grid} a
		/// {@link Ext.grid.Column#renderer renderer} will be needed to show the displayField when the editor is not
		/// active.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("displayField")]
		public string DisplayField;
		
		/// <summary>
		/// The underlying {@link Ext.data.Field#name data value name} to bind to this
		/// ComboBox (defaults to undefined if {@link #mode} = &apos;remote&apos; or &apos;field2&apos; if
		/// {@link #transform transforming a select} or if the {@link #store field name is autogenerated based on
		/// the store configuration}).
		/// Note: use of a valueField requires the user to make a selection in order for a value to be
		/// mapped. See also {@link #hiddenName}, {@link #hiddenValue}, and {@link #displayField}.
		/// </summary>
		/// <htmlSummary>
		/// The underlying {@link Ext.data.Field#name data value name} to bind to this
		/// ComboBox (defaults to undefined if &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt; or &lt;tt&gt;&apos;field2&apos;&lt;/tt&gt; if
		/// {@link #transform transforming a select} or if the {@link #store field name is autogenerated based on
		/// the store configuration}).
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: use of a &lt;tt&gt;valueField&lt;/tt&gt; requires the user to make a selection in order for a value to be
		/// mapped. See also &lt;tt&gt;{@link #hiddenName}&lt;/tt&gt;, &lt;tt&gt;{@link #hiddenValue}&lt;/tt&gt;, and &lt;tt&gt;{@link #displayField}&lt;/tt&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("valueField")]
		public string ValueField;
		
		/// <summary>
		/// If specified, a hidden form field with this name is dynamically generated to store the
		/// field&apos;s data value (defaults to the underlying DOM element&apos;s name). Required for the combo&apos;s value to automatically
		/// post during a form submission. See also {@link #valueField}.
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("hiddenName")]
		public string HiddenName;
		
		/// <summary>
		/// If {@link #hiddenName} is specified, hiddenId can also be provided
		/// to give the hidden field a unique id. The hiddenId and combo {@link Ext.Component#id id} should be
		/// different, since no two DOM nodes should share the same id.
		/// </summary>
		/// <htmlSummary>
		/// If &lt;tt&gt;{@link #hiddenName}&lt;/tt&gt; is specified, &lt;tt&gt;hiddenId&lt;/tt&gt; can also be provided
		/// to give the hidden field a unique id. The &lt;tt&gt;hiddenId&lt;/tt&gt; and combo {@link Ext.Component#id id} should be
		/// different, since no two DOM nodes should share the same id.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("hiddenId")]
		public string HiddenId;
		
		/// <summary>
		/// Sets the initial value of the hidden field if {@link #hiddenName} is
		/// specified to contain the selected {@link #valueField}, from the Store. Defaults to the configured
		/// {@link Ext.form.Field#value value}.
		/// </summary>
		/// <htmlSummary>
		/// Sets the initial value of the hidden field if {@link #hiddenName} is
		/// specified to contain the selected {@link #valueField}, from the Store. Defaults to the configured
		/// &lt;tt&gt;{@link Ext.form.Field#value value}&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("hiddenValue")]
		public string HiddenValue;
		
		/// <summary>
		/// The CSS class to add to the predefined &apos;x-combo-list&apos; class
		/// applied the dropdown list element (defaults to &apos;&apos;).
		/// </summary>
		/// <htmlSummary>
		/// The CSS class to add to the predefined &lt;tt&gt;&apos;x-combo-list&apos;&lt;/tt&gt; class
		/// applied the dropdown list element (defaults to &apos;&apos;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("listClass")]
		public string ListClass;
		
		/// <summary>
		/// CSS class to apply to the selected item in the dropdown list
		/// (defaults to &apos;x-combo-selected&apos;)
		/// </summary>
		/// <htmlSummary>
		/// CSS class to apply to the selected item in the dropdown list
		/// (defaults to &lt;tt&gt;&apos;x-combo-selected&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("selectedClass")]
		public string SelectedClass;
		
		/// <summary>
		/// The empty text to display in the data view if no items are found.
		/// (defaults to &apos;&apos;)
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("listEmptyText")]
		public string ListEmptyText;
		
		/// <summary>
		/// An additional CSS class used to style the trigger button. The trigger will always
		/// get the class &apos;x-form-trigger&apos; and triggerClass will be appended if specified
		/// (defaults to &apos;x-form-arrow-trigger&apos; which displays a downward arrow icon).
		/// </summary>
		/// <htmlSummary>
		/// An additional CSS class used to style the trigger button. The trigger will always
		/// get the class &lt;tt&gt;&apos;x-form-trigger&apos;&lt;/tt&gt; and &lt;tt&gt;triggerClass&lt;/tt&gt; will be &lt;b&gt;appended&lt;/b&gt; if specified
		/// (defaults to &lt;tt&gt;&apos;x-form-arrow-trigger&apos;&lt;/tt&gt; which displays a downward arrow icon).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("triggerClass")]
		public string TriggerClass;
		
		/// <summary>
		/// true or &quot;sides&quot; for the default effect, &quot;frame&quot; for
		/// 4-way shadow, and &quot;drop&quot; for bottom-right
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; or &lt;tt&gt;&quot;sides&quot;&lt;/tt&gt; for the default effect, &lt;tt&gt;&quot;frame&quot;&lt;/tt&gt; for
		/// 4-way shadow, and &lt;tt&gt;&quot;drop&quot;&lt;/tt&gt; for bottom-right
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("shadow")]
		public ext.auto.System_Boolean_Or_System_String Shadow;
		
		/// <summary>
		/// A valid anchor position value. See {@link Ext.Element#alignTo} for details
		/// on supported anchor positions and offsets. To specify x/y offsets as well, this value
		/// may be specified as an Array of {@link Ext.Element#alignTo} method arguments. [ &apos;tl-bl?&apos;, [6,0] ] (defaults to &apos;tl-bl?&apos;)
		/// </summary>
		/// <htmlSummary>
		/// A valid anchor position value. See &lt;tt&gt;{@link Ext.Element#alignTo}&lt;/tt&gt; for details
		/// on supported anchor positions and offsets. To specify x/y offsets as well, this value
		/// may be specified as an Array of &lt;tt&gt;{@link Ext.Element#alignTo}&lt;/tt&gt; method arguments.&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;[ &apos;tl-bl?&apos;, [6,0] ]&lt;/code&gt;&lt;/pre&gt;(defaults to &lt;tt&gt;&apos;tl-bl?&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("listAlign")]
		public ext.auto.System_String_Or_System_Array ListAlign;
		
		/// <summary>
		/// The maximum height in pixels of the dropdown list before scrollbars are shown
		/// (defaults to 300)
		/// </summary>
		/// <htmlSummary>
		/// The maximum height in pixels of the dropdown list before scrollbars are shown
		/// (defaults to &lt;tt&gt;300&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("maxHeight")]
		public System.Number MaxHeight;
		
		/// <summary>
		/// The minimum height in pixels of the dropdown list when the list is constrained by its
		/// distance to the viewport edges (defaults to 90)
		/// </summary>
		/// <htmlSummary>
		/// The minimum height in pixels of the dropdown list when the list is constrained by its
		/// distance to the viewport edges (defaults to &lt;tt&gt;90&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("minHeight")]
		public System.Number MinHeight;
		
		/// <summary>
		/// The action to execute when the trigger is clicked.
		///   &apos;query&apos; : Default {@link #doQuery run the query} using the {@link Ext.form.Field#getRawValue raw value}.   &apos;all&apos; :
		/// {@link #doQuery run the query} specified by the {@link #allQuery} config option     See also {@link #queryParam}.
		/// </summary>
		/// <htmlSummary>
		/// The action to execute when the trigger is clicked.
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;&apos;query&apos;&lt;/tt&gt;&lt;/b&gt; : &lt;b&gt;Default&lt;/b&gt;
		/// &lt;p class=&quot;sub-desc&quot;&gt;{@link #doQuery run the query} using the {@link Ext.form.Field#getRawValue raw value}.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;&apos;all&apos;&lt;/tt&gt;&lt;/b&gt; :
		/// &lt;p class=&quot;sub-desc&quot;&gt;{@link #doQuery run the query} specified by the &lt;tt&gt;{@link #allQuery}&lt;/tt&gt; config option&lt;/p&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// &lt;p&gt;See also &lt;code&gt;{@link #queryParam}&lt;/code&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("triggerAction")]
		public string TriggerAction;
		
		/// <summary>
		/// The minimum number of characters the user must type before autocomplete and
		/// {@link #typeAhead} activate (defaults to 4 if {@link #mode} = &apos;remote&apos; or 0 if
		/// {@link #mode} = &apos;local&apos;, does not apply if
		/// {@link Ext.form.TriggerField#editable editable} = false).
		/// </summary>
		/// <htmlSummary>
		/// The minimum number of characters the user must type before autocomplete and
		/// {@link #typeAhead} activate (defaults to &lt;tt&gt;4&lt;/tt&gt; if &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt; or &lt;tt&gt;0&lt;/tt&gt; if
		/// &lt;tt&gt;{@link #mode} = &apos;local&apos;&lt;/tt&gt;, does not apply if
		/// &lt;tt&gt;{@link Ext.form.TriggerField#editable editable} = false&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("minChars")]
		public System.Number MinChars;
		
		/// <summary>
		/// true to select the first result gathered by the data store (defaults
		/// to true). A false value would require a manual selection from the dropdown list to set the components value
		/// unless the value of ({@link #typeAheadDelay}) were true.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to select the first result gathered by the data store (defaults
		/// to &lt;tt&gt;true&lt;/tt&gt;). A false value would require a manual selection from the dropdown list to set the components value
		/// unless the value of ({@link #typeAheadDelay}) were true.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("autoSelect")]
		public bool AutoSelect;
		
		/// <summary>
		/// true to populate and autoselect the remainder of the text being
		/// typed after a configurable delay ({@link #typeAheadDelay}) if it matches a known value (defaults
		/// to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to populate and autoselect the remainder of the text being
		/// typed after a configurable delay ({@link #typeAheadDelay}) if it matches a known value (defaults
		/// to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("typeAhead")]
		public bool TypeAhead;
		
		/// <summary>
		/// The length of time in milliseconds to delay between the start of typing and
		/// sending the query to filter the dropdown list (defaults to 500 if {@link #mode} = &apos;remote&apos;
		/// or 10 if {@link #mode} = &apos;local&apos;)
		/// </summary>
		/// <htmlSummary>
		/// The length of time in milliseconds to delay between the start of typing and
		/// sending the query to filter the dropdown list (defaults to &lt;tt&gt;500&lt;/tt&gt; if &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt;
		/// or &lt;tt&gt;10&lt;/tt&gt; if &lt;tt&gt;{@link #mode} = &apos;local&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("queryDelay")]
		public System.Number QueryDelay;
		
		/// <summary>
		/// If greater than 0, a {@link Ext.PagingToolbar} is displayed in the
		/// footer of the dropdown list and the {@link #doQuery filter queries} will execute with page start and
		/// {@link Ext.PagingToolbar#pageSize limit} parameters. Only applies when {@link #mode} = &apos;remote&apos;
		/// (defaults to 0).
		/// </summary>
		/// <htmlSummary>
		/// If greater than &lt;tt&gt;0&lt;/tt&gt;, a {@link Ext.PagingToolbar} is displayed in the
		/// footer of the dropdown list and the {@link #doQuery filter queries} will execute with page start and
		/// {@link Ext.PagingToolbar#pageSize limit} parameters. Only applies when &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt;
		/// (defaults to &lt;tt&gt;0&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("pageSize")]
		public System.Number PageSize;
		
		/// <summary>
		/// true to select any existing text in the field immediately on focus.
		/// Only applies when {@link Ext.form.TriggerField#editable editable} = true (defaults to
		/// false).
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to select any existing text in the field immediately on focus.
		/// Only applies when &lt;tt&gt;{@link Ext.form.TriggerField#editable editable} = true&lt;/tt&gt; (defaults to
		/// &lt;tt&gt;false&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("selectOnFocus")]
		public bool SelectOnFocus;
		
		/// <summary>
		/// Name of the query ({@link Ext.data.Store#baseParam baseParam} name for the store)
		/// as it will be passed on the querystring (defaults to &apos;query&apos;)
		/// </summary>
		/// <htmlSummary>
		/// Name of the query ({@link Ext.data.Store#baseParam baseParam} name for the store)
		/// as it will be passed on the querystring (defaults to &lt;tt&gt;&apos;query&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("queryParam")]
		public string QueryParam;
		
		/// <summary>
		/// The text to display in the dropdown list while data is loading. Only applies
		/// when {@link #mode} = &apos;remote&apos; (defaults to &apos;Loading...&apos;)
		/// </summary>
		/// <htmlSummary>
		/// The text to display in the dropdown list while data is loading. Only applies
		/// when &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt; (defaults to &lt;tt&gt;&apos;Loading...&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("loadingText")]
		public string LoadingText;
		
		/// <summary>
		/// true to add a resize handle to the bottom of the dropdown list
		/// (creates an {@link Ext.Resizable} with &apos;se&apos; {@link Ext.Resizable#pinned pinned} handles).
		/// Defaults to false.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to add a resize handle to the bottom of the dropdown list
		/// (creates an {@link Ext.Resizable} with &apos;se&apos; {@link Ext.Resizable#pinned pinned} handles).
		/// Defaults to &lt;tt&gt;false&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("resizable")]
		public bool Resizable;
		
		/// <summary>
		/// The height in pixels of the dropdown list resize handle if
		/// {@link #resizable} = true (defaults to 8)
		/// </summary>
		/// <htmlSummary>
		/// The height in pixels of the dropdown list resize handle if
		/// &lt;tt&gt;{@link #resizable} = true&lt;/tt&gt; (defaults to &lt;tt&gt;8&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("handleHeight")]
		public System.Number HandleHeight;
		
		/// <summary>
		/// The text query to send to the server to return all records for the list
		/// with no filtering (defaults to &apos;&apos;)
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("allQuery")]
		public string AllQuery;
		
		/// <summary>
		/// Acceptable values are:
		///   &apos;remote&apos; : Default Automatically loads the {@link #store} the first time the trigger
		/// is clicked. If you do not want the store to be automatically loaded the first time the trigger is
		/// clicked, set to &apos;local&apos; and manually load the store. To force a requery of the store
		/// every time the trigger is clicked see {@link #lastQuery}.   &apos;local&apos; :
		/// ComboBox loads local data  
		/// var combo = new Ext.form.ComboBox({
		/// renderTo: document.body,
		/// mode: &apos;local&apos;,
		/// store: new Ext.data.ArrayStore({
		/// id: 0,
		/// fields: [
		/// &apos;myId&apos;, // numeric value is the key
		/// &apos;displayText&apos;
		/// ],
		/// data: [[1, &apos;item1&apos;], [2, &apos;item2&apos;]] // data is local
		/// }),
		/// valueField: &apos;myId&apos;,
		/// displayField: &apos;displayText&apos;,
		/// triggerAction: &apos;all&apos;
		/// });
		/// </summary>
		/// <htmlSummary>
		/// Acceptable values are:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;&apos;remote&apos;&lt;/tt&gt;&lt;/b&gt; : &lt;b&gt;Default&lt;/b&gt;
		/// &lt;p class=&quot;sub-desc&quot;&gt;Automatically loads the &lt;tt&gt;{@link #store}&lt;/tt&gt; the &lt;b&gt;first&lt;/b&gt; time the trigger
		/// is clicked. If you do not want the store to be automatically loaded the first time the trigger is
		/// clicked, set to &lt;tt&gt;&apos;local&apos;&lt;/tt&gt; and manually load the store. To force a requery of the store
		/// &lt;b&gt;every&lt;/b&gt; time the trigger is clicked see &lt;tt&gt;{@link #lastQuery}&lt;/tt&gt;.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;&apos;local&apos;&lt;/tt&gt;&lt;/b&gt; :
		/// &lt;p class=&quot;sub-desc&quot;&gt;ComboBox loads local data&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;
		/// var combo = new Ext.form.ComboBox({
		/// renderTo: document.body,
		/// mode: &apos;local&apos;,
		/// store: new Ext.data.ArrayStore({
		/// id: 0,
		/// fields: [
		/// &apos;myId&apos;, // numeric value is the key
		/// &apos;displayText&apos;
		/// ],
		/// data: [[1, &apos;item1&apos;], [2, &apos;item2&apos;]] // data is local
		/// }),
		/// valueField: &apos;myId&apos;,
		/// displayField: &apos;displayText&apos;,
		/// triggerAction: &apos;all&apos;
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("mode")]
		public string Mode;
		
		/// <summary>
		/// The minimum width of the dropdown list in pixels (defaults to 70, will
		/// be ignored if {@link #listWidth} has a higher value)
		/// </summary>
		/// <htmlSummary>
		/// The minimum width of the dropdown list in pixels (defaults to &lt;tt&gt;70&lt;/tt&gt;, will
		/// be ignored if &lt;tt&gt;{@link #listWidth}&lt;/tt&gt; has a higher value)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("minListWidth")]
		public System.Number MinListWidth;
		
		/// <summary>
		/// true to restrict the selected value to one of the values in the list,
		/// false to allow the user to set arbitrary text into the field (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to restrict the selected value to one of the values in the list,
		/// &lt;tt&gt;false&lt;/tt&gt; to allow the user to set arbitrary text into the field (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("forceSelection")]
		public bool ForceSelection;
		
		/// <summary>
		/// The length of time in milliseconds to wait until the typeahead text is displayed
		/// if {@link #typeAhead} = true (defaults to 250)
		/// </summary>
		/// <htmlSummary>
		/// The length of time in milliseconds to wait until the typeahead text is displayed
		/// if &lt;tt&gt;{@link #typeAhead} = true&lt;/tt&gt; (defaults to &lt;tt&gt;250&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("typeAheadDelay")]
		public System.Number TypeAheadDelay;
		
		/// <summary>
		/// When using a name/value combo, if the value passed to setValue is not found in
		/// the store, valueNotFoundText will be displayed as the field text if defined (defaults to undefined). If this
		/// default text is used, it means there is no value set and no validation will occur on this field.
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("valueNotFoundText")]
		public string ValueNotFoundText;
		
		/// <summary>
		/// true to not initialize the list for this combo until the field is focused
		/// (defaults to true)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to not initialize the list for this combo until the field is focused
		/// (defaults to &lt;tt&gt;true&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("lazyInit")]
		public bool LazyInit;
		
		/// <summary>
		/// true to clear any filters on the store (when in local mode) when reset is called
		/// (defaults to true)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to clear any filters on the store (when in local mode) when reset is called
		/// (defaults to &lt;tt&gt;true&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("clearFilterOnReset")]
		public bool ClearFilterOnReset;
		
		/// <summary>
		/// False to clear the name attribute on the field so that it is not submitted during a form post.
		/// If a hiddenName is specified, setting this to true will cause both the hidden field and the element to be submitted.
		/// Defaults to undefined.
		/// </summary>
		/// <htmlSummary>
		/// False to clear the name attribute on the field so that it is not submitted during a form post.
		/// If a hiddenName is specified, setting this to true will cause both the hidden field and the element to be submitted.
		/// Defaults to &lt;tt&gt;undefined&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("submitValue")]
		public bool SubmitValue;
		
		/// <summary>Fires when the dropdown list is expanded</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("expandEventName")]
		public const string ExpandEventName = "expand";
		
		/// <summary>Fires when the dropdown list is collapsed</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("collapseEventName")]
		public const string CollapseEventName = "collapse";
		
		/// <summary>Fires before a list item is selected. Return false to cancel the selection.</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("beforeselectEventName")]
		public const string BeforeselectEventName = "beforeselect";
		
		/// <summary>Fires when a list item is selected</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("selectEventName")]
		public const string SelectEventName = "select";
		
		/// <summary>
		/// Fires before all queries are processed. Return false to cancel the query or set the queryEvent&apos;s
		/// cancel property to true.
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("beforequeryEventName")]
		public const string BeforequeryEventName = "beforequery";
		
		/// <summary>
		/// The template string, or {@link Ext.XTemplate} instance to
		/// use to display each item in the dropdown list. The dropdown list is displayed in a
		/// DataView. See {@link #view}.  The default template string is:  
		/// &apos;&amp;lt;tpl for=&quot;.&quot;&gt;&amp;lt;div class=&quot;x-combo-list-item&quot;&gt;{&apos; + this.displayField + &apos;}&amp;lt;/div&gt;&amp;lt;/tpl&gt;&apos;
		///  Override the default value to create custom UI layouts for items in the list.
		/// For example:  
		/// &apos;&amp;lt;tpl for=&quot;.&quot;&gt;&amp;lt;div ext:qtip=&quot;{state}. {nick}&quot; class=&quot;x-combo-list-item&quot;&gt;{state}&amp;lt;/div&gt;&amp;lt;/tpl&gt;&apos;
		///  The template must contain one or more substitution parameters using field
		/// names from the Combo&apos;s {@link #store Store}. In the example above an
		/// ext:qtip  attribute is added to display other fields from the Store.  To preserve the default visual look of list items, add the CSS class name
		/// x-combo-list-item  to the template&apos;s container element.  Also see {@link #itemSelector} for additional details.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The template string, or {@link Ext.XTemplate} instance to
		/// use to display each item in the dropdown list. The dropdown list is displayed in a
		/// DataView. See {@link #view}.&lt;/p&gt;
		/// &lt;p&gt;The default template string is:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// &apos;&amp;lt;tpl for=&quot;.&quot;&gt;&amp;lt;div class=&quot;x-combo-list-item&quot;&gt;{&apos; + this.displayField + &apos;}&amp;lt;/div&gt;&amp;lt;/tpl&gt;&apos;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;Override the default value to create custom UI layouts for items in the list.
		/// For example:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// &apos;&amp;lt;tpl for=&quot;.&quot;&gt;&amp;lt;div ext:qtip=&quot;{state}. {nick}&quot; class=&quot;x-combo-list-item&quot;&gt;{state}&amp;lt;/div&gt;&amp;lt;/tpl&gt;&apos;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;The template &lt;b&gt;must&lt;/b&gt; contain one or more substitution parameters using field
		/// names from the Combo&apos;s&lt;/b&gt; {@link #store Store}. In the example above an
		/// &lt;pre&gt;ext:qtip&lt;/pre&gt; attribute is added to display other fields from the Store.&lt;/p&gt;
		/// &lt;p&gt;To preserve the default visual look of list items, add the CSS class name
		/// &lt;pre&gt;x-combo-list-item&lt;/pre&gt; to the template&apos;s container element.&lt;/p&gt;
		/// &lt;p&gt;Also see {@link #itemSelector} for additional details.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("tpl")]
		public ext.auto.System_String_Or_ext_XTemplate Tpl;
		
		/// <summary>
		/// A simple CSS selector (e.g. div.some-class or span:first-child) that will be
		/// used to determine what nodes the {@link #view Ext.DataView} which handles the dropdown
		/// display will be working with.  Note: this setting is required if a custom XTemplate has been
		/// specified in {@link #tpl} which assigns a class other than  &apos;x-combo-list-item&apos; 
		/// to dropdown list items
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A simple CSS selector (e.g. div.some-class or span:first-child) that will be
		/// used to determine what nodes the {@link #view Ext.DataView} which handles the dropdown
		/// display will be working with.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this setting is &lt;b&gt;required&lt;/b&gt; if a custom XTemplate has been
		/// specified in {@link #tpl} which assigns a class other than &lt;pre&gt;&apos;x-combo-list-item&apos;&lt;/pre&gt;
		/// to dropdown list items&lt;/b&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("itemSelector")]
		public string ItemSelector;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("grow")]
		public bool Grow;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("growMin")]
		public System.Number GrowMin;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("growMax")]
		public System.Number GrowMax;
		#endregion
		
		#region Properties
		/// <summary>
		/// The value of the match string used to filter the store. Delete this property to force a requery.
		/// Example use:
		/// 
		/// var combo = new Ext.form.ComboBox({
		/// ...
		/// mode: &apos;remote&apos;,
		/// ...
		/// listeners: {
		/// // delete the previous query in the beforequery event or set
		/// // combo.lastQuery = null (this will reload the store the next time it expands)
		/// beforequery: function(qe){
		/// delete qe.combo.lastQuery;
		/// }
		/// }
		/// });
		/// 
		/// To make sure the filter in the store is not cleared the first time the ComboBox trigger is used
		/// configure the combo with lastQuery=&apos;&apos;. Example use:
		/// 
		/// var combo = new Ext.form.ComboBox({
		/// ...
		/// mode: &apos;local&apos;,
		/// triggerAction: &apos;all&apos;,
		/// lastQuery: &apos;&apos;
		/// });
		/// </summary>
		/// <htmlSummary>
		/// The value of the match string used to filter the store. Delete this property to force a requery.
		/// Example use:
		/// &lt;pre&gt;&lt;code&gt;
		/// var combo = new Ext.form.ComboBox({
		/// ...
		/// mode: &apos;remote&apos;,
		/// ...
		/// listeners: {
		/// // delete the previous query in the beforequery event or set
		/// // combo.lastQuery = null (this will reload the store the next time it expands)
		/// beforequery: function(qe){
		/// delete qe.combo.lastQuery;
		/// }
		/// }
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// To make sure the filter in the store is not cleared the first time the ComboBox trigger is used
		/// configure the combo with &lt;tt&gt;lastQuery=&apos;&apos;&lt;/tt&gt;. Example use:
		/// &lt;pre&gt;&lt;code&gt;
		/// var combo = new Ext.form.ComboBox({
		/// ...
		/// mode: &apos;local&apos;,
		/// triggerAction: &apos;all&apos;,
		/// lastQuery: &apos;&apos;
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("lastQuery")]
		[IntrinsicProperty()]
		public string LastQuery
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>The {@link Ext.DataView DataView} used to display the ComboBox&apos;s options.</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("view")]
		[IntrinsicProperty()]
		public ext.DataView View
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// A {@link Ext.KeyNav KeyNav} object which handles navigation keys for this ComboBox. This performs actions
		/// based on keystrokes typed when the input field is focused.  After the ComboBox has been rendered, you may override existing navigation key functionality,
		/// or add your own based upon key names as specified in the {@link Ext.KeyNav KeyNav} class.  The function is executed in the scope (this reference of the ComboBox. Example:  
		/// myCombo.keyNav.esc = function(e) { // Override ESC handling function
		/// this.collapse(); // Standard behaviour of Ext&apos;s ComboBox.
		/// this.setValue(this.startValue); // We reset to starting value on ESC
		/// };
		/// myCombo.keyNav.tab = function() { // Override TAB handling function
		/// this.onViewClick(false); // Select the currently highlighted row
		/// };
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A {@link Ext.KeyNav KeyNav} object which handles navigation keys for this ComboBox. This performs actions
		/// based on keystrokes typed when the input field is focused.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;After the ComboBox has been rendered&lt;/b&gt;, you may override existing navigation key functionality,
		/// or add your own based upon key names as specified in the {@link Ext.KeyNav KeyNav} class.&lt;/p&gt;
		/// &lt;p&gt;The function is executed in the scope (&lt;code&gt;this&lt;/code&gt; reference of the ComboBox. Example:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// myCombo.keyNav.esc = function(e) { // Override ESC handling function
		/// this.collapse(); // Standard behaviour of Ext&apos;s ComboBox.
		/// this.setValue(this.startValue); // We reset to starting value on ESC
		/// };
		/// myCombo.keyNav.tab = function() { // Override TAB handling function
		/// this.onViewClick(false); // Select the currently highlighted row
		/// };
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("keyNav")]
		[IntrinsicProperty()]
		public ext.KeyNav KeyNav
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		#endregion
		
		#region Methods
		/// <summary>
		/// Returns the element used to house this ComboBox&apos;s pop-up list. Defaults to the document body. 
		/// A custom implementation may be provided as a configuration option if the floating list needs to be rendered
		/// to a different Element. An example might be rendering the list inside a Menu so that clicking
		/// the list does not hide the Menu: 
		/// var store = new Ext.data.ArrayStore({
		/// autoDestroy: true,
		/// fields: [&apos;initials&apos;, &apos;fullname&apos;],
		/// data : [
		/// [&apos;FF&apos;, &apos;Fred Flintstone&apos;],
		/// [&apos;BR&apos;, &apos;Barney Rubble&apos;]
		/// ]
		/// });
		///
		/// var combo = new Ext.form.ComboBox({
		/// store: store,
		/// displayField: &apos;fullname&apos;,
		/// emptyText: &apos;Select a name...&apos;,
		/// forceSelection: true,
		/// getListParent: function() {
		/// return this.el.up(&apos;.x-menu&apos;);
		/// },
		/// iconCls: &apos;no-icon&apos;, //use iconCls if placing within menu to shift to right side of menu
		/// mode: &apos;local&apos;,
		/// selectOnFocus: true,
		/// triggerAction: &apos;all&apos;,
		/// typeAhead: true,
		/// width: 135
		/// });
		///
		/// var menu = new Ext.menu.Menu({
		/// id: &apos;mainMenu&apos;,
		/// items: [
		/// combo // A Field in a Menu
		/// ]
		/// });
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Returns the element used to house this ComboBox&apos;s pop-up list. Defaults to the document body.&lt;/p&gt;
		/// A custom implementation may be provided as a configuration option if the floating list needs to be rendered
		/// to a different Element. An example might be rendering the list inside a Menu so that clicking
		/// the list does not hide the Menu:&lt;pre&gt;&lt;code&gt;
		/// var store = new Ext.data.ArrayStore({
		/// autoDestroy: true,
		/// fields: [&apos;initials&apos;, &apos;fullname&apos;],
		/// data : [
		/// [&apos;FF&apos;, &apos;Fred Flintstone&apos;],
		/// [&apos;BR&apos;, &apos;Barney Rubble&apos;]
		/// ]
		/// });
		///
		/// var combo = new Ext.form.ComboBox({
		/// store: store,
		/// displayField: &apos;fullname&apos;,
		/// emptyText: &apos;Select a name...&apos;,
		/// forceSelection: true,
		/// getListParent: function() {
		/// return this.el.up(&apos;.x-menu&apos;);
		/// },
		/// iconCls: &apos;no-icon&apos;, //use iconCls if placing within menu to shift to right side of menu
		/// mode: &apos;local&apos;,
		/// selectOnFocus: true,
		/// triggerAction: &apos;all&apos;,
		/// typeAhead: true,
		/// width: 135
		/// });
		///
		/// var menu = new Ext.menu.Menu({
		/// id: &apos;mainMenu&apos;,
		/// items: [
		/// combo // A Field in a Menu
		/// ]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("getListParent")]
		public void GetListParent()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the store associated with this combo.</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		/// <returns>The store</returns>
		[ScriptName("getStore")]
		public ext.data.Store GetStore()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the currently selected field value or empty string if no value is set.</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		/// <returns>value The selected value</returns>
		[ScriptName("getValue")]
		public string GetValue()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Clears any text/value currently set in the field</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("clearValue")]
		public void ClearValue()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Sets the specified value into the field. If the value finds a match, the corresponding record text
		/// will be displayed in the field. If the value does not match the data value of an existing item,
		/// and the valueNotFoundText config option is defined, it will be displayed as the default field text.
		/// Otherwise the field will be blank (although the value will still be set).
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		/// <param name="value">The value to match</param>
		/// <returns>this</returns>
		[ScriptName("setValue")]
		public ext.form.Field SetValue(string value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns true if the dropdown list is expanded, else false.</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("isExpanded")]
		public void IsExpanded()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Select an item in the dropdown list by its data value. This function does NOT cause the select event to fire.
		/// The store must be loaded and the list expanded for this function to work, otherwise use setValue.
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		/// <param name="value">The data value of the item to select</param>
		/// <param name="scrollIntoView">
		/// False to prevent the dropdown list from autoscrolling to display the
		/// selected item if it is not currently in view (defaults to true)
		/// </param>
		/// <returns>True if the value matched an item in the list, else false</returns>
		[ScriptName("selectByValue")]
		public bool SelectByValue(string value, bool scrollIntoView)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Select an item in the dropdown list by its numeric index in the list. This function does NOT cause the select event to fire.
		/// The store must be loaded and the list expanded for this function to work, otherwise use setValue.
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		/// <param name="index">The zero-based index of the list item to select</param>
		/// <param name="scrollIntoView">
		/// False to prevent the dropdown list from autoscrolling to display the
		/// selected item if it is not currently in view (defaults to true)
		/// </param>
		[ScriptName("select")]
		public void SelectMethod(System.Number index, bool scrollIntoView)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Execute a query to filter the dropdown list. Fires the {@link #beforequery} event prior to performing the
		/// query allowing the query action to be canceled if needed.
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		/// <param name="query">The SQL query to execute</param>
		/// <param name="forceAll">
		/// &lt;tt&gt;true&lt;/tt&gt; to force the query to execute even if there are currently fewer
		/// characters in the field than the minimum specified by the &lt;tt&gt;{@link #minChars}&lt;/tt&gt; config option. It
		/// also clears any filter previously saved in the current store (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </param>
		[ScriptName("doQuery")]
		public void DoQuery(string query, bool forceAll)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Hides the dropdown list if it is currently expanded. Fires the {@link #collapse} event on completion.</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("collapse")]
		public void CollapseMethod()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Expands the dropdown list if it is currently hidden. Fires the {@link #expand} event on completion.</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("expand")]
		public void ExpandMethod()
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>Fires when the dropdown list is expanded</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("expand")]
		public event ext.auto.Delegate_ext_form_ComboBox Expand;
		
		/// <summary>Fires when the dropdown list is collapsed</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("collapse")]
		public event ext.auto.Delegate_ext_form_ComboBox Collapse;
		
		/// <summary>Fires before a list item is selected. Return false to cancel the selection.</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("beforeselect")]
		public event ext.auto.Delegate_ext_form_ComboBox_And_ext_data_RecordClass_And_System_Number Beforeselect;
		
		/// <summary>Fires when a list item is selected</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("select")]
		public event ext.auto.Delegate_ext_form_ComboBox_And_ext_data_RecordClass_And_System_Number Select;
		
		/// <summary>
		/// Fires before all queries are processed. Return false to cancel the query or set the queryEvent&apos;s
		/// cancel property to true.
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("beforequery")]
		public event ext.auto.Delegate_System_Object Beforequery;
		#endregion
	}
}
